home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / mkdt-1_1.lha / CatIFF.rexx next >
OS/2 REXX Batch file  |  1992-09-02  |  1KB  |  57 lines

  1. /***************************************************************************/
  2. /*                CatIFF.rexx - join several IFF's together                */
  3. /*                       Written by Michael Letowski                       */
  4. /*                    $VER: CatIFF.rexx 37.1 (26.3.94)                     */
  5. /***************************************************************************/
  6.  
  7. PARSE ARG commonID destFile srcFiles 
  8.  
  9. IF commonID='' | destFile='' | srcFiles='' THEN
  10. DO
  11.     SAY 'Usage: CatIFF <commonID> <destFile> <srcFiles>'
  12.     EXIT 20
  13. END
  14.  
  15. IF ~OPEN(DestFH,destFile,'W') THEN
  16. DO
  17.     SAY 'Unable to open output file!'
  18.     EXIT 20
  19. END
  20.  
  21. Size=0
  22. ThisFile=''
  23. DO I=1 UNTIL ThisFile=''
  24.     ThisFile=WORD(srcFiles,I)
  25.     IF ThisFile~=='' THEN
  26.         IF ~OPEN(SrcFH,ThisFile,'R') THEN
  27.         DO
  28.             SAY 'Unable to open input file' "'"ThisFile"'"
  29.             EXIT 20
  30.         END
  31.         ELSE
  32.         DO
  33.             SrcFiles.I=READCH(SrcFH,65536)
  34.             Size=Size+LENGTH(SrcFiles.I)
  35.             CALL CLOSE(SrcFH)
  36.         END
  37. END
  38. Max=I-1
  39.  
  40. CALL WRITECH(DestFH,'CAT ')
  41. CALL WRITECH(DestFH,Long(Size+4))
  42. CALL WRITECH(DestFH,PadR(commonID))
  43. DO I=1 TO Max
  44.     CALL WRITECH(DestFH,SrcFiles.I)
  45. END
  46.  
  47. EXIT
  48.  
  49. Long:    PROCEDURE
  50.     PARSE ARG num .
  51. RETURN RIGHT(D2C(num),4,'0'X)
  52.  
  53. PadR:    PROCEDURE
  54.     PARSE ARG string
  55. RETURN LEFT(string,4,'0'X)
  56.  
  57.